Skip to content

NO-JIRA: prep for 4.22.0-prerelease.2 SDK publish#16201

Open
logonoff wants to merge 1 commit intoopenshift:mainfrom
logonoff:smells-like-sdk
Open

NO-JIRA: prep for 4.22.0-prerelease.2 SDK publish#16201
logonoff wants to merge 1 commit intoopenshift:mainfrom
logonoff:smells-like-sdk

Conversation

@logonoff
Copy link
Member

@logonoff logonoff commented Mar 26, 2026

Summary by CodeRabbit

Release Notes

  • Documentation
    • Confirmed release date for version 4.22.0-prerelease.2 as March 26, 2026
    • Added important plugin adaptation guidance for version 4.22
    • Reorganized and consolidated upgrade instructions for React Router 7, React 18, and react-i18next

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Mar 26, 2026
@openshift-ci-robot
Copy link
Contributor

@logonoff: This pull request explicitly references no jira issue.

Details

In response to this:

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci openshift-ci bot requested review from Leo6Leo and TheRealJon March 26, 2026 12:38
@openshift-ci openshift-ci bot added the component/sdk Related to console-plugin-sdk label Mar 26, 2026
@logonoff
Copy link
Member Author

@coderabbitai use the microcopy-review skill in this repository to review all the files changed in this PR. You do not have access to the IBM style guide, so do not attmpt to use it.

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Mar 26, 2026
@logonoff
Copy link
Member Author

/label px-approved
/label docs-approved
/verified bypass

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Mar 26, 2026
@openshift-ci-robot
Copy link
Contributor

@logonoff: The verified label has been added.

Details

In response to this:

/label px-approved
/label docs-approved
/verified bypass

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci openshift-ci bot added px-approved Signifies that Product Support has signed off on this PR docs-approved Signifies that Docs has signed off on this PR labels Mar 26, 2026
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 26, 2026

📝 Walkthrough

Walkthrough

Three documentation files in the console dynamic plugin SDK have been updated. Changelog entries for version 4.22.0-prerelease.2 receive finalized release dates (2026-03-26) across both the core and webpack packages. The release notes for 4.22 undergo restructuring to consolidate duplicate sections regarding shared module additions, reorder upgrade guidance sections for react-i18next, and refine headings for React Router and React 18 upgrade instructions. Reference links in the core changelog are updated to reflect current issue tracking.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@frontend/packages/console-dynamic-plugin-sdk/release-notes/4.22.md`:
- Around line 184-185: Remove the TODO HTML comment referencing the shared
module and either resolve the uncertainty or replace it with a definitive
statement: delete the line "<!-- TODO: figure out if this shared module is
really needed -->" from the release notes and, if necessary, add a brief
resolved sentence clarifying whether `@openshift/dynamic-plugin-sdk` is required
for this release (e.g., "Confirmed: `@openshift/dynamic-plugin-sdk` is/is not
required for this release") so the prerelease notes contain no TODOs.
- Around line 182-191: The "## Addition of `@openshift/dynamic-plugin-sdk`
shared module" block duplicates and conflicts with the existing "Changes to
shared modules" note about `@openshift-console/dynamic-plugin-sdk`; either
remove this standalone section or reconcile it by clearly differentiating the
two packages and unambiguously stating which package plugins should use. Update
the section title and body to mention both package names
(`@openshift/dynamic-plugin-sdk` and `@openshift-console/dynamic-plugin-sdk`)
and explicitly state the intended guidance (e.g., "Plugins should continue to
use `@openshift-console/dynamic-plugin-sdk`; `@openshift/dynamic-plugin-sdk` is an
internal Console-only shared module and should not be used by plugins") so there
is no ambiguity or duplication.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro

Run ID: 59ac80d1-f899-4e43-9bdd-3d5ab7fc3ce6

📥 Commits

Reviewing files that changed from the base of the PR and between f2cf862 and 64b99f6.

📒 Files selected for processing (3)
  • frontend/packages/console-dynamic-plugin-sdk/CHANGELOG-core.md
  • frontend/packages/console-dynamic-plugin-sdk/CHANGELOG-webpack.md
  • frontend/packages/console-dynamic-plugin-sdk/release-notes/4.22.md
📜 Review details
🧰 Additional context used
📓 Path-based instructions (1)
**

⚙️ CodeRabbit configuration file

-Focus on major issues impacting performance, readability, maintainability and security. Avoid nitpicks and avoid verbosity.

Files:

  • frontend/packages/console-dynamic-plugin-sdk/CHANGELOG-webpack.md
  • frontend/packages/console-dynamic-plugin-sdk/CHANGELOG-core.md
  • frontend/packages/console-dynamic-plugin-sdk/release-notes/4.22.md

Comment on lines +182 to +191
## Addition of `@openshift/dynamic-plugin-sdk` shared module

<!-- TODO: figure out if this shared module is really needed -->

The `@openshift/dynamic-plugin-sdk` package has been added as a shared module in Console because of internal
changes to how Console manages plugins.

This shared module provides a shared React context for plugin and extension management. Plugins should not
use or depend on this package.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Resolve section duplication with existing shared modules documentation.

This standalone section duplicates content already documented at lines 19-20 under "Changes to shared modules." Additionally, the guidance conflicts:

  • Lines 19-20 instruct: "Plugins should keep using @openshift-console/dynamic-plugin-sdk"
  • Lines 188-190 state: "Plugins should not use or depend on this package"

The second statement refers to @openshift/dynamic-plugin-sdk while the first refers to @openshift-console/dynamic-plugin-sdk, but this distinction may not be clear to readers encountering duplicate mentions of similar package names.

Consider either removing this standalone section (as the change is already documented in the shared modules list), or clearly differentiate why both sections exist and ensure the guidance is unambiguous about which package plugins should use.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@frontend/packages/console-dynamic-plugin-sdk/release-notes/4.22.md` around
lines 182 - 191, The "## Addition of `@openshift/dynamic-plugin-sdk` shared
module" block duplicates and conflicts with the existing "Changes to shared
modules" note about `@openshift-console/dynamic-plugin-sdk`; either remove this
standalone section or reconcile it by clearly differentiating the two packages
and unambiguously stating which package plugins should use. Update the section
title and body to mention both package names (`@openshift/dynamic-plugin-sdk`
and `@openshift-console/dynamic-plugin-sdk`) and explicitly state the intended
guidance (e.g., "Plugins should continue to use
`@openshift-console/dynamic-plugin-sdk`; `@openshift/dynamic-plugin-sdk` is an
internal Console-only shared module and should not be used by plugins") so there
is no ambiguity or duplication.

Comment on lines +184 to +185
<!-- TODO: figure out if this shared module is really needed -->

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Remove TODO comment from release documentation.

Release notes for a prerelease publish should not contain TODO comments expressing uncertainty about features. This signals incomplete documentation and undermines user confidence in the release.

Either resolve the uncertainty about whether @openshift/dynamic-plugin-sdk is needed, or remove this comment before publishing.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@frontend/packages/console-dynamic-plugin-sdk/release-notes/4.22.md` around
lines 184 - 185, Remove the TODO HTML comment referencing the shared module and
either resolve the uncertainty or replace it with a definitive statement: delete
the line "<!-- TODO: figure out if this shared module is really needed -->" from
the release notes and, if necessary, add a brief resolved sentence clarifying
whether `@openshift/dynamic-plugin-sdk` is required for this release (e.g.,
"Confirmed: `@openshift/dynamic-plugin-sdk` is/is not required for this release")
so the prerelease notes contain no TODOs.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 26, 2026

Tip

For best results, initiate chat on the files or code changes.

🧩 Analysis chain

Let me first locate the microcopy-review skill and fetch the changed files.


🏁 Script executed:

#!/bin/bash
# Find the microcopy-review skill definition
fd -t f "microcopy" --full-path | head -20
echo "---"
fd -t f "skill" --full-path | head -20
echo "---"
# Also check .coderabbit or similar config
find . -name "*.md" -path "*skill*" | head -10
find . -name "*.yaml" -path "*skill*" | head -10
find . -name "*.md" -path "*microcopy*" | head -10

Repository: openshift/console
Length of output: 320


🏁 Script executed:

#!/bin/bash
# Get the list of files changed in PR `#16201`
gh pr view 16201 --repo openshift/console --json files --jq '.files[].path'

Length of output: 75


🏁 Script executed:

#!/bin/bash
# Read the microcopy-review skill
cat ./.claude/skills/microcopy-review/SKILL.md
echo "=== END SKILL ==="

# Get changed files in this PR branch vs base
git diff --name-only origin/main...HEAD 2>/dev/null || git diff --name-only HEAD~1 HEAD

Repository: openshift/console
Length of output: 11716


🏁 Script executed:

#!/bin/bash
# Try different ways to get changed files
echo "=== git diff origin/main ==="
git diff --name-only origin/main 2>/dev/null
echo "=== git status ==="
git diff --name-only 2>/dev/null
echo "=== git show --stat ==="
git show --stat --name-only 2>/dev/null | grep -v "^$" | tail -50
echo "=== git log --oneline -5 ==="
git log --oneline -5 2>/dev/null
echo "=== git diff --name-only HEAD origin/main ==="
git diff --name-only HEAD origin/main 2>/dev/null

Repository: openshift/console
Length of output: 3421


🏁 Script executed:

#!/bin/bash
echo "=== CHANGELOG-core.md ==="
cat frontend/packages/console-dynamic-plugin-sdk/CHANGELOG-core.md
echo ""
echo "=== CHANGELOG-webpack.md ==="
cat frontend/packages/console-dynamic-plugin-sdk/CHANGELOG-webpack.md
echo ""
echo "=== release-notes/4.22.md ==="
cat frontend/packages/console-dynamic-plugin-sdk/release-notes/4.22.md

Repository: openshift/console
Length of output: 32324


@logonoff Here is the microcopy review for the three files changed in this PR. These are developer-facing documentation files (changelogs and release notes), so the focus is on clarity, consistency, and correctness of technical writing rather than UI strings.


Microcopy Review

Files reviewed

  • frontend/packages/console-dynamic-plugin-sdk/CHANGELOG-core.md (4.22.0-prerelease.2 section)
  • frontend/packages/console-dynamic-plugin-sdk/CHANGELOG-webpack.md (4.22.0-prerelease.2 section)
  • frontend/packages/console-dynamic-plugin-sdk/release-notes/4.22.md (full file)

Overall assessment

Good with several issues — The writing is generally clear and technically precise. A few critical consistency and correctness issues need attention before publication.

What's working well

  • Consistent use of bold markers (**Breaking**, **Deprecated**, **Type breaking**) makes the changelog easy to scan.
  • The important callout blocks (> [!IMPORTANT], > [!WARNING]) are used appropriately.
  • Migration guides include concrete diff examples — excellent developer experience.
  • Most changelog bullets use active imperative voice consistently (e.g., "Add warnings", "Remove usage").

Issues found

Critical (must fix)

Issue Original Suggested Guideline
Unresolved TODO comment will appear in the published document <!-- TODO: figure out if this shared module is really needed --> in release-notes/4.22.md Remove or resolve before publishing Documentation quality
Inconsistent type source across files — CHANGELOG-core.md says To is from react-router but the migration guide in release-notes/4.22.md says from react-router-dom-v5-compat. The diff code block in the release notes uses react-router, which contradicts the prose. CHANGELOG: To (from react-router) / Release notes prose: To (from react-router-dom-v5-compat) Align both to react-router (matching the migration diff) Technical accuracy and consistency

Recommended (should fix)

Issue Original Suggested Guideline
Missing terminal period "…console.dashboards/custom/overview/detail/item extensions instead ([CONSOLE-5093], [#16043])" "…extensions instead. ([CONSOLE-5093], [#16043])" Sentence completeness
Comma splice "Removed pluginID from the result in useResolvedExtensions hook, use pluginName instead" "Removed pluginID from the result in useResolvedExtensions hook. Use pluginName instead." Red Hat style: avoid comma splices
Missing definite article "in app directory" "in the app directory" Standard English grammar
Missing terminal period "…instead of calling history methods directly ([CONSOLE-4990], [#15959])" "…instead of calling history methods directly. ([CONSOLE-4990], [#15959])" — also code-format history as a package name Consistency with other bullets; code formatting
Awkward phrasing "building your plugin with a 4.22 or later of ConsoleRemotePlugin" "building your plugin with ConsoleRemotePlugin version 4.22 or later" Red Hat style: natural phrasing
Version prefix inconsistency "Plugins must use react 18 to remain compatible with Console." "Plugins must use react v18 to remain compatible with Console." Consistent with "v17" / "v18" used in the same bullet's first sentence
Missing code formatting "use data-test attributes" "use data-test attributes" PatternFly / technical writing: code-format attribute names

Minor (consider)

  • Repeated "still": "is still valid and will still be supported by React 18" → "remains valid and is supported by React 18"
  • Wordy construction: "reduces bundle size, as well as allowing the usage of JSX syntax without importing the React namespace" → "reduces bundle size and enables JSX syntax without importing the React namespace"
  • Vague parenthetical: "to use named imports (which is React's recommended way)" → "to use named imports (React's recommended approach)"
  • "may" vs "might" inconsistency: The release notes mix both for expressing possibility ("may need", "might need", "might change"). Pick one and use it consistently. Red Hat style guide prefers "might" for possibility and "can" for ability.
  • Passive voice in release notes: Several sections mix passive and active constructions. For example, "Support for PatternFly 5.x within Console is removed" alongside "Console now only uses PatternFly 6.x." Preferring the active form throughout ("Console removes support for PatternFly 5.x.") would improve consistency.

i18n considerations

None of the changed files contain UI strings that require t() wrapping. These are developer-facing markdown documents and are out of scope for i18n.

@openshift-ci-robot openshift-ci-robot removed the verified Signifies that the PR passed pre-merge verification criteria label Mar 26, 2026
@logonoff
Copy link
Member Author

/verified bypass

@openshift-ci-robot
Copy link
Contributor

@logonoff: The verified label has been added.

Details

In response to this:

/verified bypass

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Mar 26, 2026

> [!IMPORTANT]
> This release includes breaking changes that impact all existing Console plugins.
> Refer to release-notes/4.22.md for details on how to adapt your plugins for Console 4.22.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
> Refer to release-notes/4.22.md for details on how to adapt your plugins for Console 4.22.
> Refer to [release notes](./release-notes/4.22.md) for details on how to adapt your plugins for Console 4.22.

@openshift-ci-robot openshift-ci-robot removed the verified Signifies that the PR passed pre-merge verification criteria label Mar 26, 2026
@logonoff
Copy link
Member Author

/verified bypass

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Mar 26, 2026
@openshift-ci-robot
Copy link
Contributor

@logonoff: The verified label has been added.

Details

In response to this:

/verified bypass

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@vojtechszocs
Copy link
Contributor

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Mar 26, 2026
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 26, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: logonoff, vojtechszocs

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@logonoff
Copy link
Member Author

/test all

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 26, 2026

@logonoff: all tests passed!

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. component/sdk Related to console-plugin-sdk docs-approved Signifies that Docs has signed off on this PR jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged. px-approved Signifies that Product Support has signed off on this PR verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants